// house_pkg/pages/locate/index.ts
// 导入腾讯位置服务 SDK
import QQMap from '../../../utils/qqmap'
Page({

  /**
   * 页面的初始数据
   */
  data: {
    address: '',
    points: {}
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad() {
    this.getLocation()
  },
  async getLocation() {
    // 调用 API
    const {
      latitude,
      longitude
    } = await wx.getLocation()
    // console.log(latitude, longitude)
    // 获取周边小区
    this.getPoint(latitude, longitude)

    //逆地址解析（根据经纬度来获取地址）
    QQMap.reverseGeocoder({
      location: [latitude, longitude].join(','),
      success: ({
        result: {
          address
        }
      }) => {
        this.setData({
          address
        })
      }
    })
  },
  async chooseLocation() {
    // 调用小程序 API 获取新的位置
    const {
      name,
      latitude,
      longitude
    } = await wx.chooseLocation()
    console.log(name)
    this.setData({
      address: name
    })
    this.getPoint(latitude, longitude)
  },
  getPoint(latitude, longitude) {
    // search 是实现地点搜索功能的方法
    QQMap.search({
      keyword: '住宅小区', //搜索关键词
      location: [latitude, longitude].join(','), //设置周边搜索中心点
      page_size: 5,
      success: (result) => {
        // 过滤掉多余的数据
        const points = result.data.map(({
          id,
          title,
          _distance
        }) => {
          return {
            id,
            title,
            _distance
          }
        })
        // 渲染数据
        this.setData({
          points
        })
      },
    })
  },
})